package com.ruoyi.system.mapper;

import com.ruoyi.system.domain.CompeWorkScroingRecord;
import com.ruoyi.system.domain.SysCertificateAll;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

/**
 * @Author HP
 * @Date 2021/3/3
 * @Description TODO
 */
public interface CompeWorkScroingRecordMapper {


    /**
     *  根据赛事id获取生成学校证书所需要的所有信息
     */
    public List<SysCertificateAll> querySysCertificateAllSchoolByEpid(Integer epid);

    /**
     * 在排名公布后根据赛事id生成老师证书
     * @param epid
     */
    public List<SysCertificateAll> querySysCertificateAllTeacherByEpid(Integer epid);


    /**
     * 在排名公布后根据赛事id生成学生证书
     * @param epid
     */
    public List<SysCertificateAll> querySysCertificateAllStudentByEpid(Integer epid);

    /**
     * 根据赛事id查询是否存在没有排名公布的信息
     */
    public Integer queryCompeWorkScroingRecordByPublicStatus(Integer epid);

    /**
     * 查询是否评审过比赛
     */
    public CompeWorkScroingRecord queryCompeWorkScroingRecordIsNull(CompeWorkScroingRecord compeWorkScroingRecord);


    /**
     * 获取最后添加Id
     * @return
     */
    public Integer readLastInsertScoringId();

    public List<CompeWorkScroingRecord> queryCompetitionRankingAnnouncement(CompeWorkScroingRecord compeWorkScroingRecord);

    /**
     * 根据教师ID查看已评分的作品记录
     * @param compeWorkScroingRecord
     * @return
     */
    List<CompeWorkScroingRecord> queryWorksRecordByTid(CompeWorkScroingRecord compeWorkScroingRecord);

    /**
     * 根据教师ID查看已评分的作品记录
     * @param compeWorkScroingRecord
     * @return
     */
    List<CompeWorkScroingRecord> queryWorksRecordBySchool(CompeWorkScroingRecord compeWorkScroingRecord);
    /**
     * 管理员查看已评分的作品记录
     * @param compeWorkScroingRecord
     * @return
     */
    List<CompeWorkScroingRecord> queryWorksRecordByAdmin(CompeWorkScroingRecord compeWorkScroingRecord);
    /*
   颁奖
    */
    public void updateRanking(CompeWorkScroingRecord compeWorkScroingRecord);

    /*
    点击公布修改状态
     */
    public void updatePublicStatus(CompeWorkScroingRecord compeWorkScroingRecord);

    public List<CompeWorkScroingRecord> queryPrize(CompeWorkScroingRecord compeWorkScroingRecord);


    /**
     * 评分完成后添加评分信息
     */
    public void saveCompeWorkScroingRecord(CompeWorkScroingRecord compeWorkScroingRecord);

    /**
     * 修改评分信息
     * @param compeWorkScroingRecord
     */
    public void updateCompeWorkScroingRecord(CompeWorkScroingRecord compeWorkScroingRecord);

    int updatePublicReview(@Param("mId") Integer mId,@Param("scoringIds") String scoringIds);
}
